Many software applications and packages are distributed throughout the world. An important aspect of such distribution is that the software is localized to each country in which it is distributed. Localization is the process of adapting software for a particular country or region. For example, the software must support the character set of the local language and must be configured to present numbers and other values in the local format. In addition, text strings that are presented to the user of the software should be presented in the local language.
Software companies that wish to sell their software internationally must invest considerable money and energy in localization efforts. Typically, software is developed in a single language, then localization is performed on the software. One major cost is the translation of text strings from the original language in which the software is developed into a number of local languages. In addition to the cost, this translation is typically very time consuming. If software is developed in stages, it may be necessary to perform these translations at each stage, which may mean that the same text strings are being translated multiple times.
A need arises for a technique by which text strings in software may be translated as part of a localization of the software, but which provides reduced cost, improved efficiency, and quicker turnaround of the translation process.